import Vue from 'vue'
import Vuex from 'vuex'
import { getItem, setItem } from '../utils/storage'

Vue.use(Vuex)
const TOKEN_KEY = 'TOUTIAO_USER'
export default new Vuex.Store({
  state: {
    // 方式1.标准写法
    // user: localStorage.getItem(TOKEN_KEY) ? JSON.parse(localStorage.getItem(TOKEN_KEY)) : null
    // 方式2.简化写法
    // user: localStorage[TOKEN_KEY] ? JSON.parse(localStorage[TOKEN_KEY]) : null
    // 方式3.进一步简化
    // user: JSON.parse(localStorage[TOKEN_KEY] || 'null')
    // 方式4: 用封装的方法
    user: getItem(TOKEN_KEY)
  },
  mutations: {
    setUser (state, data) {
      state.user = data
      // 方式1.标准写法
      // localStorage.setItem(TOKEN_KEY, JSON.stringify(data))
      // 方式2.简化写法
      // localStorage[TOKEN_KEY] = JSON.stringify(data)
      // 方式3.用封装方法
      setItem(TOKEN_KEY, data)
    }
  },
  actions: {

  },
  modules: {
  }
})
